Skip to content

ci: migrate ACR login to OIDC/UAMI managed identity#1000

Merged
BenjaminMichaelis merged 1 commit intomainfrom
feature/oidc-acr-migration
Apr 22, 2026
Merged

ci: migrate ACR login to OIDC/UAMI managed identity#1000
BenjaminMichaelis merged 1 commit intomainfrom
feature/oidc-acr-migration

Conversation

@BenjaminMichaelis
Copy link
Copy Markdown
Member

  • Replace docker/login-action (admin credentials) with az acr login via OIDC session (azure/login with AZURE_CLIENT_ID)
  • Add --registry-identity and --user-assigned flags to az containerapp up so identity attachment and registry config happen atomically on create and update, eliminating the chicken-and-egg ordering issue
  • Replace az config set extension.use_dynamic_install with explicit az extension add --name containerapp --upgrade to ensure the extension version supports --registry-identity on az containerapp up
  • Remove --registry-username/--registry-password from containerapp up
  • Update Assign MI step to use WEB_UAMI_RESOURCE_ID and WEB_UAMI_CLIENT_ID

Description

Describe your changes here.

Fixes #Issue_Number (if available)

Ensure that your pull request has followed all the steps below:

  • Code compilation
  • Created tests which fail without the change (if possible)
  • All tests passing
  • Extended the README / documentation, if necessary

- Replace docker/login-action (admin credentials) with az acr login via
  OIDC session (azure/login with AZURE_CLIENT_ID)
- Add --registry-identity and --user-assigned flags to az containerapp up
  so identity attachment and registry config happen atomically on create
  and update, eliminating the chicken-and-egg ordering issue
- Replace az config set extension.use_dynamic_install with explicit
  az extension add --name containerapp --upgrade to ensure the extension
  version supports --registry-identity on az containerapp up
- Remove --registry-username/--registry-password from containerapp up
- Update Assign MI step to use WEB_UAMI_RESOURCE_ID and WEB_UAMI_CLIENT_ID
Copilot AI review requested due to automatic review settings April 22, 2026 00:24
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GitHub Actions deployment workflow to authenticate to Azure Container Registry (ACR) and Azure Container Apps using OIDC + user-assigned managed identity (UAMI), removing reliance on ACR admin credentials and making identity/registry attachment occur as part of the az containerapp up operation.

Changes:

  • Replace docker/login-action (ACR username/password) with az acr login after azure/login OIDC auth.
  • Update az containerapp up to use --registry-identity and --user-assigned, removing --registry-username/--registry-password.
  • Replace dynamic extension install config with explicit az extension add --name containerapp --upgrade.

@BenjaminMichaelis BenjaminMichaelis merged commit 47b32b4 into main Apr 22, 2026
11 checks passed
@BenjaminMichaelis BenjaminMichaelis deleted the feature/oidc-acr-migration branch April 22, 2026 00:49
BenjaminMichaelis added a commit that referenced this pull request Apr 25, 2026
- Replace docker/login-action (admin credentials) with az acr login via
OIDC session (azure/login with AZURE_CLIENT_ID)
- Add --registry-identity and --user-assigned flags to az containerapp
up so identity attachment and registry config happen atomically on
create and update, eliminating the chicken-and-egg ordering issue
- Replace az config set extension.use_dynamic_install with explicit az
extension add --name containerapp --upgrade to ensure the extension
version supports --registry-identity on az containerapp up
- Remove --registry-username/--registry-password from containerapp up
- Update Assign MI step to use WEB_UAMI_RESOURCE_ID and
WEB_UAMI_CLIENT_ID

## Description

Describe your changes here.

Fixes #Issue_Number (if available)

### Ensure that your pull request has followed all the steps below:
- [ ] Code compilation
- [ ] Created tests which fail without the change (if possible)
- [ ] All tests passing
- [ ] Extended the README / documentation, if necessary

Co-authored-by: Benjamin Michaelis <bmichaelis@intellitect.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants